// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fowo.api.common.model.OptionItem;
import com.fowo.api.entity.IssuOrder;
import com.fowo.api.model.issu.order.IssuOrderItemVo;
import com.fowo.api.model.issu.order.IssuOrderSearchParamPo;
import com.fowo.api.model.issu.order.IssuOrderVo;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface IssuOrderMapper extends BaseMapper<IssuOrder> {
  Page<IssuOrderItemVo> pageSearch(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  List<OptionItem<IssuOrderItemVo>> searchOptions(
    @Param("search") IssuOrderSearchParamPo search
  );
  List<IssuOrderItemVo> search(@Param("search") IssuOrderSearchParamPo search);
  Date searchLastUpdateTime(@Param("search") IssuOrderSearchParamPo search);
  /**
   * 搜索满足条件的所有记录的编号列表
   * @param search 搜索参数
   * @return 编号列表
   */
  List<Long> searchIds(@Param("search") IssuOrderSearchParamPo search);
  /**
   * 搜索满足条件的记录数量
   * @param search 搜索参数
   * @return 记录数量
   */
  Long searchCount(@Param("search") IssuOrderSearchParamPo search);
  Long getIdByOrderId(@Param("orderId") String orderId);

  List<Long> getIdsByOrderId(@Param("list") List<String> list);

  String getOrderIdById(@Param("id") Long id);

  List<Map<String, Object>> getOrderIdByIds(@Param("ids") List<Long> ids);
  IssuOrderVo selectVoById(@Param("id") Long id);
  /**
   * 全部
   */
  List<IssuOrderItemVo> allIssu(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取全部编号列表
   */
  List<Long> allIssuIds(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取全部的总数
   */
  Long allIssuCount(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 全部分页
   */
  Page<IssuOrderItemVo> allIssuPage(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  Date allIssuLastUpdateTime(@Param("search") IssuOrderSearchParamPo search);
  /**
   * 待标发
   */
  List<IssuOrderItemVo> waitIssu(
    @Param("search") IssuOrderSearchParamPo search
  );

  /**
   * 获取待标发编号列表
   */
  List<Long> waitIssuIds(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取待标发的总数
   */
  Long waitIssuCount(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 待标发分页
   */
  Page<IssuOrderItemVo> waitIssuPage(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  Date waitIssuLastUpdateTime(@Param("search") IssuOrderSearchParamPo search);
  /**
   * 标发数据更新
   */
  List<IssuOrderItemVo> updateIssu(
    @Param("search") IssuOrderSearchParamPo search
  );

  /**
   * 获取标发数据更新编号列表
   */
  List<Long> updateIssuIds(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取标发数据更新的总数
   */
  Long updateIssuCount(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 标发数据更新分页
   */
  Page<IssuOrderItemVo> updateIssuPage(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  Date updateIssuLastUpdateTime(@Param("search") IssuOrderSearchParamPo search);
  /**
   * 标发中
   */
  List<IssuOrderItemVo> onIssu(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取标发中编号列表
   */
  List<Long> onIssuIds(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取标发中的总数
   */
  Long onIssuCount(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 标发中分页
   */
  Page<IssuOrderItemVo> onIssuPage(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  Date onIssuLastUpdateTime(@Param("search") IssuOrderSearchParamPo search);
  /**
   * 标发失败
   */
  List<IssuOrderItemVo> failIssu(
    @Param("search") IssuOrderSearchParamPo search
  );

  /**
   * 获取标发失败编号列表
   */
  List<Long> failIssuIds(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取标发失败的总数
   */
  Long failIssuCount(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 标发失败分页
   */
  Page<IssuOrderItemVo> failIssuPage(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  Date failIssuLastUpdateTime(@Param("search") IssuOrderSearchParamPo search);
  /**
   * 标发成功
   */
  List<IssuOrderItemVo> successIssu(
    @Param("search") IssuOrderSearchParamPo search
  );

  /**
   * 获取标发成功编号列表
   */
  List<Long> successIssuIds(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取标发成功的总数
   */
  Long successIssuCount(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 标发成功分页
   */
  Page<IssuOrderItemVo> successIssuPage(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  Date successIssuLastUpdateTime(
    @Param("search") IssuOrderSearchParamPo search
  );
  /**
   * 不标发
   */
  List<IssuOrderItemVo> noIssu(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取不标发编号列表
   */
  List<Long> noIssuIds(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 获取不标发的总数
   */
  Long noIssuCount(@Param("search") IssuOrderSearchParamPo search);

  /**
   * 不标发分页
   */
  Page<IssuOrderItemVo> noIssuPage(
    @Param("page") Page page,
    @Param("search") IssuOrderSearchParamPo search
  );
  Date noIssuLastUpdateTime(@Param("search") IssuOrderSearchParamPo search);
}
